Leadtools.ImageProcessing.Core Namespace > WindowLevelCommand Class > WindowLevelCommand Constructor : WindowLevelCommand Constructor(Int32,Int32,RasterColor[],RasterByteOrder) |
public WindowLevelCommand( int lowBit, int highBit, RasterColor[] lookupTable, RasterByteOrder order )
'Declaration Public Function New( _ ByVal lowBit As Integer, _ ByVal highBit As Integer, _ ByVal lookupTable() As RasterColor, _ ByVal order As RasterByteOrder _ )
'Usage Dim lowBit As Integer Dim highBit As Integer Dim lookupTable() As RasterColor Dim order As RasterByteOrder Dim instance As New WindowLevelCommand(lowBit, highBit, lookupTable, order)
public WindowLevelCommand( int lowBit, int highBit, RasterColor[] lookupTable, RasterByteOrder order )
function WindowLevelCommand( lowBit , highBit , lookupTable , order )
public: WindowLevelCommand( int lowBit, int highBit, array<RasterColor>^ lookupTable, RasterByteOrder order )
Public Sub WindowLevelConstructorExample() Dim codecs As New RasterCodecs() codecs.ThrowExceptionsOnInvalidImages = True Dim leadImage As RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")) ' Prepare the command 'Change the image to 16-bit grayscale Dim graycommand As GrayscaleCommand = New GrayscaleCommand(16) graycommand.Run(leadImage) Dim MinMaxBits As MinMaxBitsCommand = New MinMaxBitsCommand MinMaxBits.Run(leadImage) Dim MinMaxValues As MinMaxValuesCommand = New MinMaxValuesCommand MinMaxValues.Run(leadImage) Dim Size As Integer = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)) Dim LookupTable() As RasterColor ReDim LookupTable(Size - 1) ' fill the first half of the LookupTable with RED. Dim x As Integer For x = 0 To (Size \ 2 - 1) LookupTable(x) = New RasterColor(255, 0, 0) Next ' fill the rest with gray values. For x = Size \ 2 To Size - 1 Dim y As Byte = CType((x) * 255 / (Size), Byte) LookupTable(x) = New RasterColor(y, y, y) Next Dim command As WindowLevelCommand = New WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr) command.Run(leadImage) End Sub Public NotInheritable Class LEAD_VARS Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images" End Class
public void WindowLevelConstructorExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, "Master.jpg")); // Prepare the command //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); graycommand.Run(image); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxBits.Run(image); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); MinMaxValues.Run(image); int Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); RasterColor [] LookupTable = new RasterColor[Size]; // fill the first half of the LookupTable with RED. for(int x = 0; x < Size / 2; x++) LookupTable[x] = new RasterColor(255, 0, 0); // fill the rest with gray values. for(int x = Size / 2; x < Size; x++) { byte y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new RasterColor(y, y, y); } WindowLevelCommand command = new WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr); command.Run(image); } static class LEAD_VARS { public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images"; }
function WindowLevelConstructorExample() { var codecs = new Leadtools.Codecs.RasterCodecs(); codecs.throwExceptionsOnInvalidImages = true; // Load the image var srcFileName = "Assets\\Image1.cmp"; var processedImage; return Tools.AppInstallFolder().getFileAsync(srcFileName).then(function (loadFile) { return codecs.loadAsync(Leadtools.LeadStreamFactory.create(loadFile)); }).then(function (image) { // Prepare the command with (Leadtools.ImageProcessing.Core) { //Change the image to 16-bit grayscale var graycommand = new GrayscaleCommand(16); graycommand.run(image); var MinMaxBits = new MinMaxBitsCommand(); MinMaxBits.run(image); var MinMaxValues = new MinMaxValuesCommand(); MinMaxValues.run(image); var Size = (1 <<(MinMaxBits.maximumBit - MinMaxBits.minimumBit + 1)); var LookupTable = new Array(); // fill the first half of the LookupTable with RED. for(var x = 0; x < Size / 2; x++) LookupTable[x] = Leadtools.RasterColorHelper.create(255, 0, 0); // fill the rest with gray values. for(var x = Size / 2; x < Size; x++) { var y = (x - MinMaxValues.minimumValue) * 255 / (MinMaxValues.maximumValue - MinMaxValues.minimumValue); LookupTable[x] = Leadtools.RasterColorHelper.create(y, y, y); } var command = new WindowLevelCommand(MinMaxBits.minimumBit, MinMaxBits.maximumBit, LookupTable, RasterByteOrder.bgr); command.run(image); } }); }
[TestMethod] public async Task WindowLevelConstructorExample() { // Load an image RasterCodecs codecs = new RasterCodecs(); codecs.ThrowExceptionsOnInvalidImages = true; // Load the image string srcFileName = @"Assets\Image1.cmp"; StorageFile loadFile = await Tools.AppInstallFolder.GetFileAsync(srcFileName); RasterImage image = await codecs.LoadAsync(LeadStreamFactory.Create(loadFile)); // Prepare the command //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); graycommand.Run(image); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxBits.Run(image); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); MinMaxValues.Run(image); int Size = (1 <<(MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); RasterColor [] LookupTable = new RasterColor[Size]; // fill the first half of the LookupTable with RED. for(int x = 0; x < Size / 2; x++) LookupTable[x] = RasterColorHelper.Create(255, 0, 0); // fill the rest with gray values. for(int x = Size / 2; x < Size; x++) { byte y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = RasterColorHelper.Create(y, y, y); } WindowLevelCommand command = new WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr); command.Run(image); }
public void WindowLevelConstructorExample(RasterImage image, Stream outStream) { // Prepare the command //Change the image to 16-bit grayscale GrayscaleCommand graycommand = new GrayscaleCommand(16); graycommand.Run(image); MinMaxBitsCommand MinMaxBits = new MinMaxBitsCommand(); MinMaxBits.Run(image); MinMaxValuesCommand MinMaxValues = new MinMaxValuesCommand(); MinMaxValues.Run(image); int Size = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1)); RasterColor[] LookupTable = new RasterColor[Size]; // fill the first half of the LookupTable with RED. for (int x = 0; x < Size / 2; x++) LookupTable[x] = new RasterColor(255, 0, 0); // fill the rest with gray values. for (int x = Size / 2; x < Size; x++) { byte y = (byte)((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue)); LookupTable[x] = new RasterColor(y, y, y); } WindowLevelCommand command = new WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr); command.Run(image); // Save result image RasterCodecs codecs = new RasterCodecs(); codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24); image.Dispose(); }
Public Sub WindowLevelConstructorExample(ByVal image As RasterImage, ByVal outStream As Stream)
' Prepare the command
'Change the image to 16-bit grayscale
Dim graycommand As GrayscaleCommand = New GrayscaleCommand(16)
graycommand.Run(image)
Dim MinMaxBits As MinMaxBitsCommand = New MinMaxBitsCommand()
MinMaxBits.Run(image)
Dim MinMaxValues As MinMaxValuesCommand = New MinMaxValuesCommand()
MinMaxValues.Run(image)
Dim Size As Integer = (1 << (MinMaxBits.MaximumBit - MinMaxBits.MinimumBit + 1))
Dim LookupTable As RasterColor() = New RasterColor(Size - 1){}
' fill the first half of the LookupTable with RED.
Dim x As Integer = 0
Do While x < Size / 2
LookupTable(x) = New RasterColor(255, 0, 0)
x += 1
Loop
' fill the rest with gray values.
x = Size / 2
Do While x < Size
Dim y As Byte = CByte((x - MinMaxValues.MinimumValue) * 255 / (MinMaxValues.MaximumValue - MinMaxValues.MinimumValue))
LookupTable(x) = New RasterColor(y, y, y)
x += 1
Loop
Dim command As WindowLevelCommand = New WindowLevelCommand(MinMaxBits.MinimumBit, MinMaxBits.MaximumBit, LookupTable, RasterByteOrder.Bgr)
command.Run(image)
' Save result image
Dim codecs As RasterCodecs = New RasterCodecs()
codecs.Save(image, outStream, RasterImageFormat.Jpeg, 24)
image.Dispose()
End Sub
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2